/*
 * 文  件   名: MessageManager.java
 * 版         本: docrepository-core(Anttribe). All rights reserved
 * 描         述: <描述>
 * 修   改  人: zhaoyong
 * 修改时 间: 2014年11月24日
 */
package org.anttribe.docrepository.message.manager;

import java.util.List;
import java.util.Map;

import org.anttribe.docrepository.common.UnifyException;
import org.anttribe.docrepository.message.domain.Message;
import org.anttribe.docrepository.user.domain.UserInfo;

/**
 * @author zhaoyong
 * @version 2014年11月24日
 */
public interface MessageManager
{
    
    /**
     * 根据当前用户获取所有有私信联系的用户
     * 
     * @param currentUser 当前用户id
     * @return Map<UserInfo, Integer>
     * @throws UnifyException
     */
    Map<UserInfo, Integer> listMessageUser(String currentUser)
        throws UnifyException;
    
    /**
     * 根据接收人获取收信列表
     * 
     * @param receiverId String
     * @param hasRead boolean
     * @return List<Message>
     * @throws UnifyException
     */
    List<Message> listReceivedMessages(String receiverId, Boolean hasRead)
        throws UnifyException;
    
    /**
     * 根据发件人获取发信
     * 
     * @param senderId
     * @return List<Message>
     * @throws UnifyException
     */
    List<Message> listSendMessages(String senderId)
        throws UnifyException;
}